home *** CD-ROM | disk | FTP | other *** search
/ Network Support Library / RoseWare - Network Support Library.iso / apidev / tpapi.exe / EXAMPLES / WAMI.PAS < prev   
Pascal/Delphi Source File  |  1994-01-14  |  4KB  |  136 lines

  1. {***************************************************************************}
  2. {** Program : WAMI.PAS                                                    **}
  3. {***************************************************************************}
  4. {** Version : 1.0             ** Started :           ** Ended :           **}
  5. {***************************************************************************}
  6. {******************************** Description ******************************}
  7. {***************************************************************************}
  8. {** WAMI is a simple replacement for WHOAMI.  It will not display a time  **}
  9. {** unless you incorporate your own formatting strings.                   **}
  10. {**                                                                       **}
  11. {**                                                                       **}
  12. {**                                                                       **}
  13. {***************************************************************************}
  14. {******************************** Information ******************************}
  15. {***************************************************************************}
  16. {** USAGE :                                                               **}
  17. {**                                                                       **}
  18. {**   WAMI                                                                **}
  19. {**                                                                       **}
  20. {**                                                                       **}
  21. {***************************************************************************}
  22.  
  23. program WAMI;
  24.  
  25. { $DEFINE OPRO} {define this to use OPRO date/time formatting routines}
  26.  
  27. USES
  28.  
  29.   {$IFDEF WINDOWS}
  30.   wincrt,
  31.   {$ENDIF}
  32.   {$IFDEF OPRO}
  33.   opdate,
  34.   {$ENDIF}
  35.   nwvar,
  36.   nwerror,
  37.   nwconn,
  38.   nwfsserv,
  39.   nwwrkstn;
  40.  
  41. VAR
  42.  
  43.   Count       : BYTE;
  44.   DefConnID   : WORD;
  45.   Connection  : ConnectionOBJ;
  46.   FileServer  : FileServerOBJ;
  47.   WorkStation : WorkStationOBJ;
  48.  
  49.  
  50. procedure DisplayInfo (ConnectionID : WORD);
  51.  
  52. VAR
  53.  
  54.   ServerName        : TObjectName;
  55.   ConnectionNumber  : WORD;
  56.   TempConnectionID  : WORD;
  57.   NetworkError      : WORD;
  58.   CompanyName       : TString80;
  59.   Revision          : TString80;
  60.   RevisionDate      : TString24;
  61.   Copyright         : TString255;
  62.   LoginTime         : TByte7Array;
  63.   ObjectName        : TObjectName;
  64.   ObjectID          : OT_BinderyID;
  65.   ObjectType        : OT_BinderyType;
  66.  
  67. BEGIN
  68.  
  69.   WorkStation.SetPreferredConnectionID (ConnectionID);
  70.   WorkStation.GetFileServerName (ConnectionID, ServerName);
  71.   ConnectionNumber := Connection.GetConnectionNumber;
  72.   NetworkError := FileServer.GetFileServerDescriptionStrings (CompanyName, Revision,
  73.                                                               RevisionDate, Copyright);
  74.  
  75.   NetworkError := FileServer.GetFileServerDateAndTime (LoginTime);
  76.   WITH Connection DO
  77.     NetworkError := GetConnectionInformation (ConnectionNumber, ObjectName, ObjectType,
  78.                                               ObjectID, LoginTime);
  79.  
  80.   WRITELN;
  81.   IF NetworkError = Successful THEN
  82.     WRITELN ('You are user ', ObjectName, ' attached to server ', ServerName,
  83.              ', connection ', ConnectionNumber, '.')
  84.   ELSE
  85.     WRITELN ('You are attached to server ', ServerName, ', connection ',
  86.              ConnectionNumber, ', but not logged in.');
  87.  
  88.   WRITELN ('Server ', ServerName, ' is running ', Revision, '.');
  89.  
  90.   {$IFDEF OPRO}
  91.   write ('Login time : ');
  92.   {$ELSE}
  93.   WRITELN ('Login time : N/A'); {PUT YOUR OWN TIME FORMATTING ROUTINES HERE}
  94.                                 {LOGINTIME IS A 7 BYTE ARRAY}
  95.   {$ENDIF}
  96.  
  97.   {$IFDEF OPRO}
  98.   write (DMYtoDateString ('wwwwwwwww nnnnnnnnn dd, yyyy', LoginTime [2], LoginTime [1], LoginTime [0]));
  99.   writeln (' ':2, TimeToAmPmString ('hh:mm te', HMStoTime (LoginTime [3], LoginTime [4], LoginTime [5])));
  100.   {$ENDIF}
  101.  
  102. END;
  103.  
  104. procedure Init;
  105.  
  106. BEGIN
  107.  
  108.   Connection.Init (true);
  109.   FileServer.Init (true);
  110.   WorkStation.Init (true);
  111.  
  112. END;
  113.  
  114. procedure Done;
  115.  
  116. BEGIN
  117.  
  118.   Connection.Done;
  119.   FileServer.Done;
  120.   WorkStation.Done;
  121.  
  122. END;
  123.  
  124. BEGIN
  125.  
  126.   Init;
  127.   DefConnID := WorkStation.GetDefaultConnectionID;
  128.   WRITELN;
  129.   FOR Count := 1 TO 8 DO
  130.     IF WorkStation.IsConnectionIDInUse (Count) = 0 THEN
  131.       DisplayInfo (Count);
  132.  
  133.   WorkStation.SetPreferredConnectionID (DefConnID);
  134.   Done;
  135.  
  136. END.